﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Assignment2.Transitions;
using Assignment2.Actions;

namespace Assignment2.States
{
    class WaitingState : State
    {
        public WaitingState(ref Integer boringValue, ref Integer hungryValue, ref Integer toyValue, ref Integer foodValue, ref Integer idleTime)
            : base(ref idleTime)
        {
            Action getHungry = new GettingHungryAction(ref hungryValue);
            Action getBored = new GettingBoredAction(ref boringValue);
            actions.Add(getHungry);
            actions.Add(getBored);
        }

        public override string ToString()
        {
            return "Waiting";
        }
        public override void updateMember()
        {
            transitions.Add(StateAndTransitionPool.WaitingToHungry);
            transitions.Add(StateAndTransitionPool.WaitingToBoring);
            transitions.Add(StateAndTransitionPool.WaitingToSleeping);
        }
    }
}
